﻿'''
题目描述
给定一组不等式，判断是否成立并输出不等式的最大差(输出浮点数的整数部分)
要求:
不等式系数为 double类型，是一个二维数组
不等式的变量为 int类型，是一维数组;
不等式的目标值为 double类型，是一维数组
不等式约束为字符串数组，只能是:“>”,“>=”,“<”,“<=”,“=”，
例如，不等式组:
 a11x1 + a12x2 + a13x3 + a14x4 + a15x5 <= b1; 
 a21x1 + a22x2 + a23x3 + a24x4 + a25x5 <= b2; 
 a31x1 + a32x2 + a33x3 + a34x4 + a35x5 <= b3; 
最大差 = max{(a11x1+a12x2+a13x3+a14x4+a15x5-b1),(a21x1+a22x2+a23x3+a24x4+ a25x5-b2),(a31x1+a32x2+a33x3+a34x4+a35x5-b3)},
类型为整数(输出浮点数的整数部分)
输入描述
a11,a12,a13,a14,a15,a21,a22,a23,a24,a25, a31,a32,a33,a34,a35,x1,x2,x3,x4,x5,b1,b2,b3,<=,<=,<=
不等式组系数(double类型):
a11,a12,a13,a14,a15
a21,a22,a23,a24,a25
a31,a32,a33,a34,a35
不等式变量(int类型):x1,x2,x3,x4,x5
不等式目标值(double类型):b1,b2,b3
不等式约束(字符串类型):<=,<=,<=
输出描述
true或者 false，最大差
示例1
输入
2.3,3,5.6,7.6,11;11,3,8.6,25,1;0.3,9,5.3,66,7.8;1,3,2,7,5;340,670,80.6;<=,<=,<=
输出
false 458
示例2
输入
2.36,3,6,7.1,6;1,30,8.6,2.5,21;0.3,69,5.3,6.6,7.8;1,13,2,17,5;340,67,300.6;<=,>=,<=
输出
false 758
解题思路
题目解读
题目要求你根据一组不等式判断其是否成立，并计算这些不等式中左边表达式和目标值之间的最大差值。具体来说，每个不等式
都包含如下内容：
不等式系数：一个二维数组，表示每个变量的系数。
不等式的变量：一个一维数组，表示每个变量的值。
不等式的目标值：一个一维数组，表示每个不等式右边的目标值。
不等式约束：一个字符串数组，表示不等式的关系，只能是 “>”, “>=”, “<”, “<=”, “=” 其中之一。
'''
#计算不等式值和目标值差值
#需增加计算差值方法:首先计算两个一维数组乘积
def mulArray(a,b):
    result = 0.0      #注意为double（float）类型，应为0.0
    for i in range(len(a)):
        result += a[i] * b[i]
    return result

#增加判断是否满足不等式约束方法
def satiCondition(diff,con):
    if con == '>':
        return diff > 0
    elif con == '>=':
        return diff >= 0
    elif con == '<':
        return diff < 0
    elif con == '<=':
        return diff <= 0
    elif con == '=':
        return diff == 0
    else:
        return False
#读入输入

#先以;分割再以,分割存储到数组，strip去除首尾空格、制表、回车符
arr = [s.split(",") for s in input().strip().split(";")]
#从总数组arr[0,1,2]取出并存储不等式数组系数（double类型）python：float类型足够表示float和double类型
#注意将默认字符串转换为要求类型：float
xishu = [[float(num) for num in nums] for nums in arr[:3]]
#存储不等式变量(int类型)int
v = [int(num) for num in arr[3]]
#存储不等式目标值(double类型)float
b = [float(num) for num in arr[4]]
#存储不等式约束，字符串类型，只能是:“>”,“>=”,“<”,“<=”,“=”，
y = [s for s in arr[5]]

#计算差值并存储到数组
diff = [((mulArray(xishu[i],v)) - b[i]) for i in range(3)]
#判断是否都满足不等式约束条件
flag = satiCondition(diff[0],y[0]) and satiCondition(diff[1],y[1]) and satiCondition(diff[2],y[2])
#计算最大差值并输出
max_diff = int(max(abs(d) for d in diff))    #注意转换为整数，因为要求输出浮点数的整数部分
print(str(flag) + ' ' + str(max_diff))            #注意转换为字符串形式输出
